package cn.iocoder.yudao.module.dr.dal.dataobject.collectionimageacquisition;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 藏品二维采集信息 DO
 *
 * @author 管理员
 */
@TableName("dr_collection_image_acquisition")
@KeySequence("dr_collection_image_acquisition_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CollectionImageAcquisitionDO extends BaseDO {

    /**
     * 自增ID
     */
    @TableId
    private Long id;
    /**
     * 关联藏品ID
     */
    private Long collectionId;
    /**
     * 藏品总登记号
     */
    private String generalAccessionNumber;
    /**
     * 名称
     */
    private String collectionName;

    /**
     * 影像文件名
     */
    private String imageFilename;
    /**
     * 文件格式
     */
    private String fileFormat;
    /**
     * 加工日期
     */
    private LocalDateTime processingDate;
    /**
     * 加工单位
     */
    private String processingUnit;
    /**
     * 加工人
     */
    private String processor;
    /**
     * 成果影像质量检查人
     */
    private String qualityInspector;
    /**
     * 文件大小(M)
     */
    private BigDecimal fileSize;
    /**
     * 分辨率
     */
    private String resolution;
    /**
     * 拍摄单位
     */
    private String shootingUnit;
    /**
     * 拍摄地
     */
    private String shootingLocation;
    /**
     * 拍摄日期
     */
    private LocalDateTime shootingDate;
    /**
     * 拍摄人
     */
    private String photographer;
    /**
     * 拍摄设备品牌型号
     */
    private String equipmentModel;
    /**
     * 文件格式
     */
    private String fileType;

    /**
     * 采集内容
     */
    private String acquisitionContent;
    /**
     * 采集影像总数(张)
     */
    private Integer totalImages;
    /**
     * 采集影像质量检查人
     */
    private String acquisitionInspector;
    /**
     * 资源状态
     */
    private Integer sourceStatus;

    // ==== 新增的审核相关字段 ====

    /**
     * 编目人员
     */
    private String cataloger;

    /**
     * 编目日期
     */
    private LocalDateTime catalogDate;

    /**
     * 提交审核日期
     */
    private LocalDateTime submitAuditDate;
    /**
     * 审批意见
     */
    private String auditOpinion;


    @TableField(exist = false)
    private String collectionCover;

}